<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>其二</title>
  </head>
  <body>
    <script type="text/javascript" >
      // 需求：n变化preson.age也跟着变化，preson.age变化n也跟着变
      let n = 18
      let str = '保时捷'

      let person = {
        name:'bug小错',
        gender:'男',
      }

      Object.defineProperty(person,'age',{
        // get函数（get方法、getter）何时调用？ —— 有人读取person的age属性时
        // get函数（get方法、getter）中的this是谁？ —— 当前操作的对象
        get:function qunideba(){
          // console.log('get方法被调用了')
          return n
        },
        // set函数（set方法、setter）何时调用？ —— 有人修改person的age属性时
        // set函数（set方法、setter）中的this是谁？ —— 当前操作的对象
        set(value){
          // console.log('有人修改了person的age属性',value)
          n = value
        }
      })
      
      Object.defineProperty(person,'car',{
        get(){
          return str
        },
        set(value){
          str = value
        }
      })

      console.log(person)


    </script>
  </body>
</html>